package com.hlj.ncp.transaction.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hlj.ncp.common.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * 交易记录实体类
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_transaction")
public class Transaction extends BaseEntity {
    
    private static final long serialVersionUID = 1L;

    /**
     * 交易ID
     */
    @TableId(value = "transaction_id", type = IdType.AUTO)
    private Long transactionId;
    
    /**
     * 交易编号
     */
    private String transactionNo;
    
    /**
     * 交易类型（IN：入库，OUT：出库，TRANSFER：调拨，CHECK：盘点）
     */
    private String transactionType;
    
    /**
     * 产品ID
     */
    private Long productId;
    
    /**
     * 产品名称
     */
    private String productName;
    
    /**
     * 数量
     */
    private BigDecimal quantity;
    
    /**
     * 单位
     */
    private String unit;
    
    /**
     * 金额
     */
    private BigDecimal amount;
    
    /**
     * 仓库ID
     */
    private Long warehouseId;
    
    /**
     * 仓库名称
     */
    private String warehouseName;
    
    /**
     * 状态（PENDING：待处理，PROCESSING：处理中，COMPLETED：已完成，CANCELLED：已取消）
     */
    private String status;
    
    /**
     * 备注
     */
    private String remark;
} 